package com.system.module.business.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import com.system.framework.aspectj.lang.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableId;
import com.system.common.page.BasePageRequest;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.io.Serializable;
import java.util.Date;


/**
 * 患者列表对象 patient_user
 *
 * @author mars
 * @date 2023-06-15
 */

@Data
@ToString
@EqualsAndHashCode
@NoArgsConstructor
@ApiModel(value = "患者列表对象")
@Accessors(chain = true)
@TableName("patient_user")
public class PatientUser extends BasePageRequest  {



    /**
     * 患者ID
     */
    @TableId(value = "id", type = IdType.AUTO)
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    @ApiModelProperty(value = "id")
    private Integer id;

    /**
     * 患者姓名
     */
    @Excel(name = "患者姓名")
    @ApiModelProperty(value = "患者姓名")
    private String name;

    /**
     * 患者性别
     */
    @Excel(name = "患者性别")
    @ApiModelProperty(value = "患者性别")
    private Integer gender;

    /**
     * 手机号
     */
    @Excel(name = "手机号")
    @ApiModelProperty(value = "手机号")
    private String mobile;

    /**
     * 患者出生年月
     */
    @Excel(name = "患者出生年月" , width = 30, dateFormat = "yyyy-MM-dd")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "患者出生年月")
    private Date birthdate;

    /**
     * 患者年龄
     */
    @Excel(name = "患者年龄")
    @ApiModelProperty(value = "患者年龄")
    private Integer age;

    /**
     * 就诊地点
     */
    @Excel(name = "就诊地点")
    @ApiModelProperty(value = "就诊地点")
    private String location;

    /**
     * 是否复诊
     */
    @Excel(name = "是否复诊")
    @ApiModelProperty(value = "是否复诊")
    private Integer isRevisit;

    /**
     * 问诊人
     */
    @Excel(name = "问诊人")
    @ApiModelProperty(value = "问诊人")
    private String doctor;

    /**
     * 患病原因
     */
    @Excel(name = "患病原因")
    @ApiModelProperty(value = "患病原因")
    private String illnessReason;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 更新时间
     */
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
}
